package com.wanshu.util;

import org.apache.commons.io.FilenameUtils;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpSession;
import java.io.File;
import java.io.IOException;
import java.util.UUID;

public class ImageUtil {

    public static String upload(MultipartFile source, HttpSession session) throws IOException {
        // 文件的原始名称
        String filename = source.getOriginalFilename();
        // 定制全局唯一的命名
        String unique = UUID.randomUUID().toString();
        // 获得文件的后缀
        String ext = FilenameUtils.getExtension(filename);
        // 定制全局唯一的文件名
        String uniqueFileName = unique + "." + ext;
        System.out.println("唯一的文件名:" + uniqueFileName);

        // 获得 upload_file 的磁盘路径
        String realPath = session.getServletContext().getRealPath("/upload_file");
        File uploadDir = new File(realPath);
        if (!uploadDir.exists()) {
            uploadDir.mkdirs(); // 创建目录
        }

        // 将上传的文件存入磁盘路径中
        File destinationFile = new File(uploadDir, uniqueFileName);
        source.transferTo(destinationFile);

        // 返回文件的相对路径，以便存储到数据库
        return "/upload_file/" + uniqueFileName;
    }
}
